package com.otv.alojamiento.service;

import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import com.otv.alojamiento.dao.IAlojamientoDAO;
import com.otv.model.Alojamiento;





/**
 * Class AlojamientoService.
 */
@Transactional(readOnly = true)
public class AlojamientoService implements IAlojamientoService {



	IAlojamientoDAO alojamientoDAO;
	




	@Transactional(readOnly = false)
	@Override
	public void addAlojamiento(Alojamiento alojamiento) {
		getAlojamientoDAO().addAlojamiento(alojamiento);
	}


	@Transactional(readOnly = false)
	@Override
	public void updateAlojamiento(Alojamiento alojamiento) {
		getAlojamientoDAO().updateAlojamiento(alojamiento);
	}


	@Transactional(readOnly = false)
	@Override
	public void deleteAlojamiento(Alojamiento alojamiento) {
		getAlojamientoDAO().deleteAlojamiento(alojamiento);
	}



	@Override
	public Alojamiento getAlojamientoById(int id) {
		return getAlojamientoDAO().getAlojamientoById(id);
	}



	@Override
	public List<Alojamiento> getAlojamientos() {
		return getAlojamientoDAO().getAlojamientos();
	}


	/**
	 * Devuelve un(a) alojamiento dao.
	 *
	 * @return El/la alojamiento dao
	 */
	public IAlojamientoDAO getAlojamientoDAO() {
		return alojamientoDAO;
	}


	/**
	 * Asigna el/la alojamiento dao.
	 *
	 * @param alojamientoDAO un(a) nuevo(a) alojamiento dao
	 */
	public void setAlojamientoDAO(IAlojamientoDAO alojamientoDAO) {
		this.alojamientoDAO = alojamientoDAO;
	}

}
